# -*- coding: utf-8 -*-

from django.db import models

import re

class Permissao(models.Model):
    nome = models.CharField(max_length=255)

    # Expressão regular que será verificada com a string de permissão.
    expressao = models.CharField(max_length=255)

    class Meta:
        app_label = 'usuarios'

    def tem_permissao(self, acao):
        """Verifica se a ação desejada tem match com a expressão regular
        desta permissão.
        """
        if re.match(self.expressao, acao):
            return True
        return False

    def __unicode__(self):
        return u"{0}".format(self.nome)
